草庐IT

Ruby File 类和方法

全部标签

c# - 为什么 C# 中的 Rectangle 类没有 Center() 方法?

以前MFC中有Rectangle的这种方法,不知道为什么c#版本没有。 最佳答案 大概它被认为不够有用,不值得收录。如果您愿意,您可以轻松地将其添加为扩展方法(如果您使用的是C#3):publicstaticPointCenter(thisRectanglerect){returnnewPoint(rect.Left+rect.Width/2,rect.Top+rect.Height/2);}请注意,由于值以整数表示,假设您要返回Point,您很容易得到一个不精确的值。而不是使用decimal的另一个结构或double.上面其实是针

c# - 如果 StringBuilder 是可变的,那么为什么 StringBuilder 方法返回一个 StringBuilder 对象?

我们都知道字符串是不可变的而StringBuilder是可变的。正确的。那么为什么它的方法会返回一个StringBuilder对象。它们不应该都是void方法吗?为什么会这样publicStringBuilderAppend(boolvalue)而不是publicvoidAppend(boolvalue)任何解释这个用法的例子都会很棒。 最佳答案 它叫做"fluentinterface".它允许您通过重复的点符号将调用链接在一起。returnnewStringBuilder().Append("Hello,").Append("wo

c# - 方法返回一个接口(interface)

大家好,我在这行代码中思考IDataReadermyReader=questDatabase.ExecuteReader(getQuest);我正在使用DAAB,但我无法理解方法ExecuteReader(DbCommand)返回IDataReader接口(interface)的方式和意义。任何人都可以解释,请 最佳答案 它允许您使用DataReader而无需知道您正在使用哪种类型的DataReader(即SqlDataReader、OleDbDataReader、EtcDataReader),所以如果有一天您想要更改您正在使用的D

c# - 没有任何抽象方法的抽象类

我很惊讶地知道C#中的抽象类也可以没有抽象方法。abstractclassAbstractDemo{publicvoidshow(){Console.WriteLine("InShowMethod");}}classMainDemo:AbstractDemo{publicstaticvoidMain(){Console.WriteLine("InMainMethod");}}有什么解释吗? 最佳答案 有时你不想给一个类实例化的可能性,但你需要这个类作为其他类的基类。选择抽象类而不是接口(interface)的原因是您可以提供一些基本

C# - 无法在方法内声明委托(delegate)

我真的在这里空白。我想知道为什么我不能在方法中声明委托(delegate)类型,而是必须在类级别进行声明。namespacedelegate_learning{classProgram{//Worksfinepublicdelegatevoidanon_delgate(inti);staticvoidMain(string[]args){HaveFun();Console.Read();}publicstaticvoidHaveFun(){//Throwsanerror:///delegatevoidanon_delgate(inti);anon_delgatead=delegate(

c# - 将 Color 转换为像 #XXXXXX 这样的字符串到 System.Windows.Media.Brush 的最简单方法

我觉得标题很清楚!我现在拥有的是:System.Drawing.Coloruiui=System.Drawing.ColorTranslator.FromHtml(myString);varintColor=(uint)((uiui.A1-myString就像我在标题中所说的#FFFFFF2-这在BitConverter.GetBytes行上失败了,这让我感到惊讶,因为我在Color上得到了int表示!3-无论如何,我知道颜色转换不是那么直观,但我觉得我做的不对...这是好方法吗? 最佳答案 您可以使用System.Windows.

c# - 在 EF 4.x 中处理将 0/1 转换为 False/True 的最简单方法是什么?

存储的Proc返回一个值为0或1的列,而不转换为BIT。在我的POCO中,如果我将该字段声明为publicboolMyColumn{get;set;}我收到这个错误:Thespecifiedcastfromamaterialized'System.Int32'typetothe'System.Boolean'typeisnotvalid.这实际上是有道理的,因为EF将返回值识别为整数。我想知道是否有任何简单的方法(添加注释或可能使用流畅的api)在场景后面的映射中自动将0/1转换为False/True而无需触及Proc?提前致谢! 最佳答案

c# - 将文件名传递给方法时,我应该使用 FileInfo 还是普通文件名?

好吧,标题说明了一切。将文件名传递给方法时,我应该使用FileInfo对象还是普通文件名(字符串)?为什么我更喜欢其中之一?我的一些同事喜欢这样写方法:无效导出(文件信息文件信息)是否优于:voidExport(字符串文件名)谢谢! 最佳答案 我通常只使用string-在大多数情况下它更简单。否则,您可能首先从字符串创建一个新的FileInfo。如果您正在创建该方法,您始终可以提供重载以允许这两种方法。当然,如果您知道要在何处调用它,您通常FileInfo而不是string,那是另一回事。我可以理解您同事的观点-在某些方面,File

c# - 防止用户两次提交表单的好方法是什么?

我有一个购买页面,我不希望用户在到达“订单完成”页面后能够刷新页面并重新提交表单,因为它会通过数据库值自动在我们的系统中设置它们,并且通过Paypal为他们的卡充电(只希望这些发生一次)......我看到一些网站说“不要点击刷新,否则你会被收取两次费用!”但是让它保持开放的可能性是非常蹩脚的,什么是只允许它提交一次或阻止它们刷新等的好方法?PS:看到几个类似的问题:PHP:StopaFormfrombeingaccidentallyreprocessedwhenBackispressed和HowdoIstoptheBackandRefreshbuttonsfromresubmittin

c# - 通用扩展方法歧义

我定义了两个接口(interface)://IVector.cspublicinterfaceIVector{intSize{get;}floatthis[intindex]{get;set;}}//IMatrix.cspublicinterfaceIMatrix{intSize{get;}floatthis[introw,intcolumn]{get;set;}}以及这些接口(interface)的扩展方法//VectorExtensions.cspublicstaticTAdd(thisTvector,Tvalue)whereT:struct,IVector{varoutput=d